package com.hee.erp.modules.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author weizehong
 * @since 2022-05-27
 */
@Getter
@Setter
@TableName("t_sys_salary")
@ApiModel(value = "SysSalary对象", description = "")
public class SysSalary implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private String id;


    @TableField("user_id")
    private String userId;

    @TableField(exist = false)
    private String userName;

    @TableField(exist = false)
    private String userNo;

    @TableField("salary_month")
    private String salaryMonth;

    @TableField("pay_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate payDate;

    @TableField("salary_type")
    private Integer salaryType;

    @TableField(exist = false)
    private String salaryTypeName;

    @TableField("company_id")
    private String companyId;

    @TableField(exist = false)
    private String companyName;

    @TableField("depart_id")
    private String departId;

    @TableField(exist = false)
    private String departName;

    @TableField("role_name")
    private String roleName;

    @TableField("pay_user_id")
    private String payUserId;

    @TableField(exist = false)
    private String payUserName;

    @TableField("pay_channel")
    private Integer payChannel;

    @TableField(exist = false)
    private String payChannelName;

    @ApiModelProperty("基本工资")
    @TableField("basic_salary")
    private BigDecimal basicSalary;

    @ApiModelProperty("奖金及补助")
    @TableField("bonus_and_subsidy")
    private BigDecimal bonusAndSubsidy;

    @ApiModelProperty("扣款")
    @TableField("deduct")
    private BigDecimal deduct;

    @ApiModelProperty("税前工资")
    @TableField("before_tax")
    private BigDecimal beforeTax;

    @ApiModelProperty("附加扣款")
    @TableField("additional_deduct")
    private BigDecimal additionalDeduct;

    @ApiModelProperty("个税")
    @TableField("personal_income_tax")
    private BigDecimal personalIncomeTax;

    @ApiModelProperty("税后工资")
    @TableField("after_tax")
    private BigDecimal afterTax;

    @TableField("remark")
    private String remark;

    @TableField(value = "del_flag",fill = FieldFill.INSERT)
    private Boolean delFlag;

    @TableField(value = "create_user",fill = FieldFill.INSERT)
    private String createUser;

    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @TableField(value = "modify_user",fill = FieldFill.INSERT_UPDATE)
    private String modifyUser;

    @TableField(value = "modify_time",fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime modifyTime;








}
